11 research outputs found

    Proof planning for logic program synthesis

    Get PDF
    The area of logic program synthesis is attracting increased interest. Most efforts have concentrated on applying techniques from functional program synthesis to logic program synthesis. This thesis investigates a new approach: Synthesizing logic programs automatically via middle-out reasoning in proof planning.[Bundy et al 90a] suggested middle-out reasoning in proof planning. Middleout reasoning uses variables to represent unknown details of a proof. Unifica¬ tion instantiates the variables in the subsequent planning, while proof planning provides the necessary search control.Middle-out reasoning is used for synthesis by planning the verification of an unknown logic program: The program body is represented with a meta-variable. The planning results both in an instantiation of the program body and a plan for the verification of that program. If the plan executes successfully, the synthesized program is partially correct and complete.Middle-out reasoning is also used to select induction schemes. Finding an appropriate induction scheme in synthesis is difficult, because the recursion in the program, which is unknown at the outset, determines the induction in the proof. In middle-out induction, we set up a schematic step case by representing the constructors applied to the induction variables with meta-variables. Once the step case is complete, the instantiated variables correspond to an induction appropriate to the recursion of the program.The results reported in this thesis are encouraging. The approach has been implemented as an extension to the proof planner CUM [Bundy et al 90c], called Periwinkle, which has been used to synthesize a variety of programs fully automatically

    A Framework for Program Development Based on Schematic Proof

    Get PDF
    Often, calculi for manipulating and reasoning about programs can be recast as calculi for synthesizing programs. The difference involves often only a slight shift of perspective: admitting metavariables into proofs. We propose that such calculi should be implemented in logical frameworks that support this kind of proof construction and that such an implementation can unify program verification and synthesis. Our proposal is illustrated with a worked example developed in Paulson's Isabelle system. We also give examples of existent calculi that are closely related to the methodology we are proposing and others that can be profitably recast using our approach

    Middle-out reasoning for synthesis and induction

    Get PDF
    We develop two applications of middle-out reasoning in inductive proofs: Logic program synthesis and the selection of induction schemes. Middle-out reasoning as part of proof planning was first suggested by Bundy et al [Bundy et al 90a]. Middle-out reasoning uses variables to represent unknown terms and formulae. Unification instantiates the variables in the subsequent planning, while proof planning provides the necessary search control. Middle-out reasoning is used for synthesis by planning the verification of an unknown logic program: The program body is represented with a meta-variable. The planning results both in an instantiation of the program body and a plan for the verification of that program. If the plan executes successfully, the synthesized program is partially correct and complete. Middle-out reasoning is also used to select induction schemes. Finding an appropriate induction scheme during synthesis is difficult, because the recursion of the program, which is un..

    Logical Frameworks as a Basis for Verification Tools: A Case Study

    No full text
    Wide-spread acceptance and use of formal methods in software development hinges on the availability of powerful tools. Tools must be both reliable and offer real assistance to the user. Logical frameworks are a suitable medium to build such tools, since they provide a means to show the faithfulness and adequacy of the implementation, and at the same time provide the flexibility needed to build sufficiently automated tools. We present Z-in-Isabelle, a deep semantic embedding of the specification language Z and a deductive system for Z in the generic theorem prover Isabelle. Z is based on Zermelo-Fraenkel set theory and first-order predicate logic, extended by a notion of schemas. Isabelle supports a fragment of higher-order predicate logic, in which object logics such as Z can be encoded as theories. We illustrate the use of Z-in-Isabelle with a data refinement proof. We assess to what extent such proofs need to and can be automated to make implementations in logical frameworks such as ..

    Spondyloarthropathies: progress and challenges

    No full text
    The spondyloarthropathies are a group of human rheumatic disorders that are often associated with extra-articular features. Although a substantial number of studies is undertaken each year, many issues concerning the pathogenesis remain unanswered. There are several unresolved questions with regard to pathogenesis and treatment in spondyloarthropathies. First, the precise sites where inflammation originates within the joints have been a matter of controversy as enthesitis, synovitis and even bone marrow inflammation can occur during the course of spondyloarthropathies. In addition, the genetic predisposition involved in the origin of the close linkage between gut and joint inflammation, a prominent feature of SpA, has gathered much attention lately. Finally, whereas the effect of tumour necrosis factor (TNF) blockers in modulating inflammatory symptoms in SpA is well established, their ability to prevent new bone formation is much less certain. In addition, some marked differences appear to exist in the ability of the different TNF-blocking agents to modulate extra-articular disease manifestations
    corecore